package com.lyf.emall.service;

import com.lyf.emall.bean.Page;
import com.lyf.emall.bean.ResponseResult;
import com.lyf.emall.bean.SysUser;
import org.springframework.data.relational.core.sql.In;

/**
 * @Description:UserService
 * @Author Lfy
 * @Date 2022/2/17-15:12
 */
public interface UserService {

    /**
     * 添加普通用户
     * @param user
     * @return
     */
    ResponseResult addUser(SysUser user);

    /**
     * 判断是否有重复的用户名
     * @param userName
     * @return
     */
    ResponseResult isSameUserName(String userName);

    /**
     * 删除普通用户
     * @param userId
     * @return
     */
    ResponseResult deleteUser(Integer userId);

    /**
     * 修改用户状态
     * @param userId
     * @param status
     * @return
     */
    ResponseResult stopUser(Integer userId, Integer status);

    /**
     * 根据用户id获得用户信息
     * @param userId
     * @return
     */
    ResponseResult getUserInfo(Integer userId);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    ResponseResult updateUserInfo(SysUser user);

    /**
     * 修改密码
     * @param user
     * @return
     */
    ResponseResult updatePassword(SysUser user);

    /**
     * 分页显示用户数据
     * @param page
     * @return
     */
    ResponseResult getAllUserByPage(Page page);

    /**
     * 根据用户名查询用户
     * @param userName
     * @return
     */
    ResponseResult getSysUserByUserName(String userName, Page page);

    /**
     * 分页显示已经删除的用户
     * @param page
     * @return
     */
    ResponseResult getAllDeleteUser(Page page);

    /**
     * 还原用户
     * @param userId
     * @return
     */
   ResponseResult restore(Integer userId);

    /**
     * 根据用户名已删除查询用户
     * @param userName
     * @param page
     * @return
     */
   ResponseResult getDeleteUserByUserName(String userName, Page page);
}
